﻿using RuoVea.ExOAuth;
using System;
using System.Text.Json.Serialization;

namespace RuoVea.ExOAuth.DouYin
{
    public class DouYinUserInfoModel: IUserInfoModel
    {
        [JsonPropertyName("nickname")]
        public string Name { get; set; }

        [JsonPropertyName("avatar")]
        public string Avatar { get; set; }

        [JsonPropertyName("country")]
        public string Country { get; set; }

        [JsonPropertyName("province")]
        public string Province { get; set; }

        [JsonPropertyName("city")]
        public string City { get; set; }

        /// <summary>
        /// 类型: * `EAccountM` - 普通企业号 * `EAccountS` - 认证企业号 * `EAccountK` - 品牌企业号
        /// </summary>
        [JsonPropertyName("e_account_role")]
        public string EAccountRole { get; set; }

        /// <summary>
        /// 性别: * `0` - 未知 * `1` - 男性 * `2` - 女性 
        /// </summary>
        [JsonPropertyName("gender")]
        public int gender { get; set; }

        /// <summary>
        /// 用户在当前应用的唯一标识
        /// </summary>
        [JsonPropertyName("open_id")]
        public string OpenId { get; set; }

        /// <summary>
        /// 用户在当前开发者账号下的唯一标识（未绑定开发者账号没有该字段）
        /// </summary>
        [JsonPropertyName("union_id")]
        public string UnionId { get; set; }

        [JsonPropertyName("description")]
        public string ErrorMessage { get; set; }
    }

}
